package com.cafe.case3.util;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

/**
 * @author Cafe
 * 2024/7/3 21:33
 */
public class ImgSignUtil {
    /**
     * 在指定的源图片上添加签名图片，然后保存为新的图片文件。
     *
     * @param signFile 签名图片的文件路径。
     * @param srcFile 源图片的文件路径。
     * @param dstFile 添加签名后的图片保存路径。
     * @throws IOException 如果读取或写入图片文件发生错误。
     */
    public static void sign(String signFile, String srcFile, String dstFile) throws IOException {
        // 读取签名图片
        BufferedImage signImg = ImageIO.read(new File(signFile));
        // 读取源图片
        BufferedImage srcImg = ImageIO.read(new File(srcFile));
        // 获取源图片的绘图对象，用于在图片上绘制签名图片
        Graphics graphics = srcImg.createGraphics();
        // 确定签名图片在源图片上的绘制位置和大小
        int startX = 638;
        int startY = 1356;
        int width = 270;
        int height = 90;
        // 在源图片上绘制签名图片
        graphics.drawImage(signImg, startX, startY, width, height, null);
        // 将添加了签名的源图片保存为新的图片文件
        ImageIO.write(srcImg, "png", new File(dstFile));
    }


    public static void main(String[] args) throws IOException {
        String signFile = "E:\\demo\\sign-dst.png";
        String srcFile = "E:\\demo\\合同.png";
        String dstFile = "E:\\demo\\合同-签名.png";
        sign(signFile, srcFile, dstFile);
        System.out.println("签名成功！");
        String str = "程序员Cafe";
        System.out.println(str.length());
    }
}
